home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
201-225
/
225
/
amigatcp
/
src
/
smtp.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-13
|
2KB
|
68 lines
/* Turn off the next line if your system doesn't have a clock */
#define DATE
/* #define USERNAME "bdale" /* name of local user */
/* #define SMTPGATE "44.32.0.1" /* address to punt mail to */
#define SMTP_PORT 25 /* well-known port for smtp */
#define SMTPCLITIME 900 /* 15 minutes between client starts */
/* currently, the below definitions are set up to put incoming mail activity
in \spool\mail, and outgoing mail activity in \spool\mqueue. Twiddle to
suit, this is for pseudo-compatibility with 4bsd, since that's what I'm
most familiar with... Bdale */
#ifndef AMIGA
/* Mail box file name template - edit to taste */
#define MAILSPOOL "/spool/mail/%s.txt"
/* path for outgoin mail files */
#define MAILQDIR "/spool/mqueue/"
#else AMIGA
#define MAILSPOOL "INET:mail/%s.txt"
#define MAILQDIR "INET:mqueue/"
#endif
extern char hostname[];
#define LINELEN 128
#define SLINELEN 32
/* Recipient address entry */
struct addr {
struct addr *next;
char *val;
};
#define NULLADDR (struct addr *)NULL
/* Per-session control block */
struct mail {
struct tcb *tcb; /* TCP control block pointer */
char state;
#define COMMAND_STATE 0
#define DATA_STATE 1
char *system; /* Name of remote system */
struct addr *to; /* Linked list of recipients */
char buf[LINELEN]; /* Input buffer */
char cnt; /* Length of input buffer */
FILE *data; /* Temporary input file pointer */
};
#define NULLMAIL (struct mail *)NULL
struct smtp_msg {
struct tcb *tcb; /* tcp task control buffer */
char cts; /* used as boolean, true if space avail in
tcp buffer */
char state; /* state machine placeholder */
#define CLI_OPEN_STATE 0
#define CLI_MAIL_STATE 1
#define CLI_RCPT_STATE 2
#define CLI_DATA_STATE 3
#define CLI_SEND_STATE 4
#define CLI_UNLK_STATE 5
#define CLI_QUIT_STATE 6
char *filename; /* name of workfile */
char toaddr[LINELEN],
fromaddr[LINELEN];
char buf[LINELEN]; /* Input buffer */
char cnt; /* Length of input buffer */
FILE *wfile, *tfile;
};